package net.suncaper.mvc.mapper;

import net.suncaper.mvc.model.domain.ReviewReply;

import java.util.List;

/**
 * ReviewReply表数据库访问接口
 */
public interface ReviewReplyMapper {
    /**
     * 添加评论回复
     * @param reviewReply 评论回复信息
     * @return 添加结果
     */
    boolean insertReviewReply(ReviewReply reviewReply);
    
    /**
     * 根据回复ID获取评论回复
     * @param replyId 回复ID
     * @return 评论回复信息
     */
    ReviewReply selectReviewReplyById(Long replyId);
    
    /**
     * 根据评论ID获取所有回复列表
     * @param reviewId 评论ID
     * @return 评论回复列表
     */
    List<ReviewReply> selectReviewRepliesByReviewId(Long reviewId);
    
    /**
     * 根据用户ID获取所有回复列表
     * @param userId 用户ID
     * @return 评论回复列表
     */
    List<ReviewReply> selectReviewRepliesByUserId(String userId);
    
    /**
     * 查询所有评论回复
     * @return 评论回复列表
     */
    List<ReviewReply> selectAllReviewReplies();
    
    /**
     * 更新评论回复
     * @param reviewReply 评论回复信息
     * @return 更新结果
     */
    boolean updateReviewReply(ReviewReply reviewReply);
    
    /**
     * 通过回复ID删除评论回复
     * @param replyId 回复ID
     * @return 删除结果
     */
    boolean deleteReviewReplyById(Long replyId);
    
    /**
     * 通过评论ID删除所有相关回复
     * @param reviewId 评论ID
     * @return 删除结果
     */
    boolean deleteReviewRepliesByReviewId(Long reviewId);
} 